QUATZ'S WEB PAGE

Bilgisayar  |   Diğer Şeyler  |   Kontak  |   Download



Kredi Kartlarının Doğruluğunun Onaylanması

Internette bir çok siteye girmek için Kredi Kartı Numaranızı vermeniz gerekir. Atmasyon Kredi kartı girmeyi denediyseniz, bunun işe yaramadığını görmüşsünüzdür. Çoğu Kredi Kartlarının geçerliliği Check-Digit (basamak denetimi) yöntemiyle Hesaplanır. Çok basit bir algoritma uygulanarak, Check-Digit kullanılarak Encode edilmiş kredi kartının geçerli olup olmadığı öğrenilebilir. İşte bu yazıda da internet sitelerinin bu işi temel olarak nasıl gerçekleştirdiğini anlatacağım.

1.Başlık, Uzunluk, ve Check Digit Kavramları:

Bu tabloda geçerliliğini kontrol etmek isteyebileceğiniz Kartlarla ilgili bilgi verilmiştir.

CARD TÜRÜ

Başlık

Uzunluk

Check digit algoritması

MASTERCARD

51-55

16

mod 10

VISA

4

13, 16

mod 10

AMEX

34
37

15

mod 10

Diners Club/
Carte Blanche

300-305
36
38

14

mod 10

Discover

6011

16

mod 10

enRoute

2014
2149

15

Herşey olabilir

JCB

3

16

mod 10

JCB

2131
1800

15

mod 10



2. LUHN Formülü (Mod 10) Geçerlilik Testi

Aşağıdaki işlemleri uygulayıp Kredi kartı numarasının geçerliliğini kontrol edebilirsiniz.

Adım 1: Karttaki toplam rakam sayısını belirleyin.

Adım 2-a: Karttaki rakam sayısı tek ise, karttaki rakamları sırasıyla; 1,2,1,2... dizisindeki rakamlarla çarpın.

Adım 2-b: Karttaki rakam sayısı çift ise, karttaki rakamları sırasıyla; 2,1,2,1... dizisindeki rakamlarla çarpın.

Adım 3: Çarpımlar sonucu elde ettiğiniz tüm rakamların basamaklarındaki sayı değerlerini toplayın ve bulduğunuz bu sonucun mod-10'a göre neye denk geldiğini hesaplayın. Yani bulduğunuz bu sonucu 10'a bölün.Kalan 0 ise; üzerinde işlem yaptığınız numara gerçekten bir karta aittir demektir.

ÖRNEK: 49927398716 numarasının doğruluğunu kontrol edelim.

Adım 1: Kartımızdaki toplam rakam sayısı = 11 -->Tek

Adım 2-a: Kartımızdaki rakamları 1,2,1,2... dizisindeki rakamlarla çarpalım:

4*1=4
9*2=18
9*1=9
2*2=4
7*1=7
3*2=6
9*1=9
8*2=16
7*1=7
1*2=2
6*1=6
Adım 3: Çarpımlar sonucu elde ettiğimiz tüm rakamların basamaklarındaki sayı değerlerini toplayalım:

4+(1+8)+9+4+7+6+9+(1+6)+7+2+6=70

Şimdi de 70'in mod-10'a göre neye denk geldiğini hesaplayalım:

70=0(mod 10) veya 70/10=7 ---->Kalan=0

Sonuç: Bu gerçekten doğru bir kredi kartı numarasıdır.